package com.gscitysfy.cus.drain.modules.duty.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gscitysfy.cus.drain.modules.duty.entity.MoperDutyMnClasses;
import com.gscitysfy.cus.drain.modules.duty.entity.MoperDutyMnPeople;
import com.gscitysfy.cus.drain.modules.duty.entity.MoperDutyRlLog;


import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author admin
 * @since 2022-03-28 15:38:59
 */
public interface IMoperDutyRlLogService extends IService<MoperDutyRlLog> {
    /**
     * description:
     *
     * @param moperDutyRlLog
     * @return {@link int}
     */
    int addMoperDutyRlLog(MoperDutyRlLog moperDutyRlLog);

    /**
     * description:
     *
     * @param moperDutyRlLog
     * @return {@link int}
     */
    int updateMoperDutyRlLog(MoperDutyRlLog moperDutyRlLog);

    /**
     * description:
     *
     * @param ids
     * @return {@link int}
     */
    Boolean deleteMoperDutyRlLog(String ids);

    /**
     * description:
     *
     * @param id
     * @return {@link MoperDutyRlLog}
     */
    MoperDutyRlLog detailMoperDutyRlLog(String id);

    /**
     * description:
     *
     * @param page
     * @param startTime
     * @param endTime
     * @param rylx
     * @param bc
     * @param zbry
     * @return {@link IPage< MoperDutyRlLog>}
     */
    IPage<MoperDutyRlLog> getAll(Page<MoperDutyRlLog> page, String startTime, String endTime, String rylx, String bc, String zbry);

    /**
     * description:
     *
     * @param
     * @return {@link List< MoperDutyMnPeople>}
     */
    List<MoperDutyMnPeople> allPeople();

    /**
     * description:
     *
     * @param coamClassessType
     * @return {@link List< MoperDutyMnClasses>}
     */
    List<MoperDutyMnClasses> allClassess(String coamClassessType, String coamClassessCode, Long coamClassessStatu);

    /**
     * description:
     *
     * @param
     * @return {@link int}
     */
    int audit(String ids,String coamLogRemark,String coamClassessStatus);

    /**
     * description:
     *
     * @param id
     * @return {@link MoperDutyRlLog}
     */
    MoperDutyRlLog record(String id);

    /**
     * description:
     *
     * @param listId
     * @param response
     * @return
     */
    void recordDownload(List<String> listId, HttpServletResponse response);

    MoperDutyMnPeople people();
}
